
package com.enjoyiot.module.bms.controller.admin.asset.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Data
public class AssetBaseVO {

    @Schema(description = "资产名称", example = "PCR荧光定量仪", required = true)
    @NotEmpty(message = "资产名称不能为空")
    private String assetName;

    @Schema(description = "所属科室", example = "医学研究中心", required = true)
    @NotEmpty(message = "所属科室不能为空")
    private String department;

    @Schema(description = "品牌", example = "蔡司", required = true)
    @NotEmpty(message = "品牌不能为空")
    private String assetBrand;

    @Schema(description = "型号", example = "IVD-9", required = true)
    @NotEmpty(message = "型号不能为空")
    private String assetModel;

    @Schema(description = "价格", example = "99999.0", required = true)
    @NotNull(message = "价格不能为空")
    private Float price;

    @Schema(description = "购买时间", required = true)
    @NotNull(message = "购买时间不能为空")
    private LocalDateTime purchaseTime;

    @Schema(description = "是否进口（1-进口；0-非进口）", required = true)
    @NotNull(message = "是否进口不能为空")
    private Integer isImport;

    @Schema(description = "供货商")
    private String supporter;

    @Schema(description = "联系人")
    private String contact;

    @Schema(description = "联系方式")
    private String tel;

    @Schema(description = "安装位置")
    private String location;

    @Schema(description = "购买方（0-医院；1-医学院）", required = true)
    @NotNull(message = "购买方不能为空")
    private Integer purchaser;

    @Schema(description = "资产类型（0--般资产；1-设备）", required = true)
    @NotNull(message = "模型文件不能为空")
    private Integer type;

    @Schema(description = "资产状态（0-报废；1-正常）", required = true)
    @NotNull(message = "资产状态不能为空")
    private Integer status;

    /**
     * 标签码
     */
    @Schema(description = "资产编码", required = true)
    @NotEmpty(message = "资产编码不能为空")
    private String assetSn;

    @Schema(description = "资产分类", required = true)
    @NotNull(message = "资产分类不能为空")
    private Long categoryId;

    private Long tenantId;
}
